Managing fitness activity across diverse exercise machines utilizing a portable computer system

ABSTRACT

In accordance with the method, system and program of the present invention, at least one type of exercise indicator signal associated with exercise performed by a particular user is received from a particular exercise machine in a common transmittable data format at a portable computer system provided the particular user. Cumulative fitness activity is computed and stored for the particular user at the portable computer system utilizing the at least one type of exercise indicator signal and previously accumulated fitness activity data at the portable computer system, such that an independent portable computer system associated with the particular user monitors the real-time cumulative fitness activity of the particular user from at least one type of exercise indicator signal received from at least one exercise machine over a period of time.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to the following applications, whichare filed on even date herewith and incorporated herein by reference:

(1) U.S. patent application Ser. No. 09/561,130, Abd;

(2) U.S. patent application Ser. No. 09/561,246, U.S. Pat. No.6,601,016;

(3) U.S. patent application Ser. No. 09/561,134, Abd; and

(4) U.S. patent application Ser. No. 09/561,422, U.S. Pat. No.6,702,719.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates to an improved method, system and programfor monitoring fitness activity in general and, in particular, to animproved method, system and program for managing fitness activity acrossdiverse exercise machines with a portable computer system. Still moreparticularly, the present invention relates to a method, system andprogram for monitoring the real-time cumulative fitness activity of auser from fitness activity data received from a plurality of diverseexercise machines over a period of time at a single, portable computersystem.

2. Description of the Prior Art

A fitness craze has recently swept the United States and othercountries. From fat-free potato chips to treadmills, people around theworld have become obsessed with weight loss and healthy living.Accordingly, record numbers of new fitness products/exercise equipmentfrom multiple manufacturers have emerged to meet this obsession(including stair climbers, treadmills, recumbent bicycles, ski machines,rowing machines, weight lifting machines, and the like).

Many pieces of exercise equipment, when utilized regularly, are veryuseful for weight loss, for improving cardiovascular stamina, and forstrengthening various muscles. Most exercise equipment includes amonitoring device that may include a pulse monitor, a distance meter, arate monitor, a time monitor, a strain gauge, an accelerometer and/orany other sensor for measuring the physical activity/performance levelof an user on the equipment. Moreover, monitoring devices typicallyrequest personal data from the user such as age, weight and desiredphysical fitness level. The monitoring device utilizes the personal datain combination with physical exertion and heart rate to estimatecalories burned, fitness levels met, and other fitness related data. Inaddition, the monitor may adjust the resistance or speed of a piece ofexercise equipment in order to aid the user in reaching and/ormaintaining a fitness level for that exercise session.

One limiting factor of many exercise machines and monitors is that theuser must reenter their personal data to the monitor each time the userutilizes an exercise machine. In addition, most exercise machines do nothave a previous history of the user from which to provide data aboutimprovement and to provide additional fitness goals. However, onesolution to providing a history for a user is provided in U.S. Pat. No.5,335,188 ('188). In '188, a speed and time elapsed of an exercisesession on a bicycle is recorded. The user may choose to save the speedand time of an exercise session under an identifier for the user. Theuser may later select a particular exercise session as a standard ofperformance for subsequent performances whereby each subsequentperformance is compared with the selected exercise session. However,while the bicycle monitor memory stores exercise sessions for aparticular user at that bicycle, in a club or other venue where multiplebicycles are provided, the user may not always have access to thebicycle at which the session data is stored in order to add to the data.

Another limiting factor of many exercise machines is that they operateand monitor the user independent of one another. However, cross-trainingacross multiple machines is popular in order to exercise different partsof the body. An individual may spend 20 minutes on a treadmill working ahills program where the monitor for the treadmill calculates a certainnumber of calories burned and other fitness related data. The individualmay then more to a rowing machine that does not realize that the userhas already worked for 20 minutes and thus calculates calories burnedand other fitness related data as if the user only worked out on therowing machine. An overall fitness level achieved by the user afterworking on both machines is not provided.

One solution to cross-training across multiple machines is provided inU.S. Pat. No. 5,598,849 ('849). In '849, an individual is provided witha user monitor that has a preferred exercise regimen of physicalparameters such as heart rate stored therein. The user is required tomonitor at least one physical parameter with the assistance of the usermonitor and is preferably required during exercise to control hisexercise to maintain the physical parameter as closely as possible tothe preset values. After exercising is completed, the monitored physicalparameters are proffered from the user monitor and sent to a master dataprocessing system where the monitored parameters are stored and comparedwith the preset parameters in order to develop a fitness profile.However, a real-time fitness profile is not provided by the prior art.In addition, the exercise regimen is not alterable during the workout.Moreover, the user monitor is limited in that it operates independent ofthe exercise machine and therefore does not provide feedback to theexercise machine in order that resistance or another variable may beadjusted.

Moreover, another limiting factor of many exercise machines is that theyare boring to utilize because of their inability to encourage a user tocontinue exercising. Display screens that depict a user's locationwithin a selected exercise program may be provided; however, theytypically include all graphics. One solution to improving graphicalrendering is provided in U.S. Pat. No. 5,947,868 ('868). In the '868patent, an exercise monitor outputs a signal representative of theperformance level of a user utilizing the exercise equipment (e.g. pulserate, distance traveled, time exercised, rate of exercise, etc.). Theperformance level signal then is fed to a video game player wirelesslyor via a cable.

The video game player preferably utilizes a handheld video game player.To simulate the user, the output from the exercise monitor is utilizedto control the video game character's performance level within a videogame that runs on the video game player. For example, the lifetime of avideo game character may be increased by peddling faster. However, whilethe video game player provides a graphical venue by which the usercontrols a video game character according to their fitness level, othertypes of graphical rendering, other than a video game are not provided.In addition, in order to utilize the video game player, a monitor thatsupplies a particular type of performance level signal must be coupledto the exercise machine. Another limiting factor of many exercisemachines is that they do not provide a display that is adjustabledependent upon the user. For example, existing systems are limited inthat they do not offer displaying output from an exercise machine in aparticular language, dependent upon the user.

Therefore, in view of the aforementioned, it would be advantageous toprovide a personal electronic exercise monitor that operates inreal-time to transmit control signal to multiple diverse exercisemachines to control the movement of the exercise machines, profferfitness data from multiple diverse exercise machines, utilize thefitness data from each exercise machine to update cumulative fitnessactivity over a period of time, adjust the control signal to meetfitness goals and control a graphical rendering of current exertion andtotals that are selected by the individual. In addition, it would bedesirable to provide a personal electronic exercise monitor thattransmits personal data and/or exercise program selections to anexercise machine monitor such that it is not necessary for a user tore-enter the data at multiple diverse exercise machines.

SUMMARY OF THE INVENTION

In view of the foregoing, it is therefore an object of the presentinvention to provide an improved method, system and program formonitoring exercise.

It is another object of the present invention to provide an improvedmethod, system and program for managing fitness activity across diverseexercise machines with a portable computer system.

It is yet another object of the present invention to provide an improvedmethod, system and program for monitoring the real-time cumulativefitness activity of a user from fitness activity data received from aplurality of diverse exercise machines over a period of time at a singledata processing system.

In accordance with the method, system and program of the presentinvention, at least one type of exercise indicator signal associatedwith exercise performed by a particular user is received from aparticular exercise machine in a common transmittable data format at aportable computer system for a particular user. Cumulative fitnessactivity is computed and stored for the particular user at the portablecomputer system utilizing the at least one type of exercise indicatorsignal and previously accumulated fitness activity data at the portablecomputer system, such that an independent portable computer systemassociated with the particular user monitors the real-time cumulativefitness activity of the particular user from at least one type ofexercise indicator signal received from at least one exercise machineover a period of time.

All objects, features, and advantages of the present invention willbecome apparent in the following detailed written description.

DESCRIPTION OF THE DRAWINGS

The invention itself as will as a preferred mode of use, furtherobjects, and advantages thereof, will best be understood by reference tothe following detailed description of an illustrative embodiment whenread in conjunction with the accompanying drawings, wherein:

FIG. 1 depicts one embodiment of a data processing system with which themethod, system and program of the present invention may advantageouslybe utilized;

FIG. 2 illustrates a preferred embodiment of a system for utilizing apersonal electronic exercise monitor in accordance with the method,system and program of the present invention;

FIG. 3 depicts a second embodiment of a system for utilizing a personalelectronic exercise monitor in accordance with the method, system andprogram of the present invention;

FIG. 4 illustrates one embodiment of a block diagram of a machine usagesystem for a health club in accordance with the method, system andprogram of the present invention;

FIG. 5 illustrates a high level logic flowchart of a process and programfor controlling an exercise machine in accordance with the presentinvention;

FIG. 6 depicts a high level logic flowchart of a process and program forutilizing a personal electronic exercise monitor to control an exercisemachine in accordance with present invention;

FIG. 7 illustrates a high level logic flowchart of a process and programfor specializing a personal electronic exercise monitor in accordancewith the present invention; and

FIG. 8 depicts a high level logic flowchart of a process and program forcontrolling machine usage for a health club in accordance with thepresent invention.

DESCRIPTION OF A PREFERRED EMBODIMENT

The present invention may be executed in a variety of systems, includinga variety of computing systems and electronic devices under a number ofdifferent operating systems. In a preferred embodiment of the presentinvention, the computer system is a portable computing system such as anotebook computer, a palmtop computer, a personal digital assistant, atelephone or other electronic computing system that may also incorporatecommunications features that provides for telephony, enhanced telephony,messaging and information services. However, the computer system mayalso be, for example, a desktop computer, a network computer, a midrangecomputer or a mainframe computer. Preferably, in order to enable atleast one of these communications features, the computer system is ableto be connected to a network, such as the Internet by either a wiredlink or wireless link. In addition, the computer system may be astandalone system or part of a network such as a local-area network(LAN) or a wide-area network (WAN). Therefore, in general, the presentinvention is preferably executed in a computer system that performscomputing tasks such as manipulating data in storage that is accessibleto the computer system. In addition, the computer system includes atleast one output device and at least one input device.

Referring now to the drawings and in particular to FIG. 1, there isdepicted a block diagram of one embodiment of a computer system that mayutilize the present invention. As depicted, data processing system 10includes at least one processor 12, which is coupled to system bus 11.Each processor 12 is a general-purpose processor, such as IBM's PowerPC™processor that, during normal operation, processes data under thecontrol of operating system and application software stored in randomaccess memory (RAM) 14 and Read Only Memory (ROM) 13. The operatingsystem preferably provides a graphical user interface (GUI) to the user.Application software contains instructions that when executed onprocessor 12 carry out the operations depicted in the flowcharts ofFIGS. 6, 7, 8, 9 and others described herein.

Processors 12 are coupled via system bus 11 and Peripheral ComponentInterconnect (PCI) host bridge 16 to PCI local bus 20. PCI host bridge16 provides a low latency path through which processor 12 may directlyaccess PCI devices mapped anywhere within bus memory and/or I/O addressspaces. PCI host bridge 16 also provides a high bandwidth path forallowing PCI devices to directly access RAM 14.

PIC local bus 20 interconnects a number of devices for communicationunder the control of PCI controller 30. These devices include a SmallComputer System Interface (SCSI) controller 18, which provides aninterface to SCSI hard disk 19, and communications adapter(s) 15, whichinterface data processing system 10 to at least one data communicationnetwork 17 comprising wired and/or wireless network communications. Inaddition, an audio adapter 23 is attached to PCI local bus 20 forcontrolling audio output through speaker 24. A graphics adapter 21 isalso attached to PCI local bus 20 for controlling visual output throughdisplay monitor 22. In alternate embodiments of the present invention,additional peripheral components may be added. For example, in alternateembodiments, a tactile display component may be provided.

PCI local bus 20 is further coupled to an Industry Standard Architecture(ISA) bus 25 by an expansion bus bridge 29. As shown, ISA bus 25 has anattached I/O (Input/Output) controller 34 that interfaces dataprocessing system 10 to peripheral input devices such as a keyboard andmouse (not illustrated) and supports external communication viaparallel, serial and universal serial bus (USB) ports 26, 27, and 28,respectively.

With reference now to FIGS. 2, there is depicted one embodiment of ablock diagram of a system for utilizing a personal electronic exercisemonitor in accordance with the method, system and program of the presentinvention. As depicted, computer system 10 preferably acts as a personalelectronic exercise monitor that accesses, interprets, and controlsfitness data across diverse exercise machine platforms. A fitnessprofile 50, fitness goals 52, personal data 54, control programs 56, andelectronic calendar 58 are preferably stored within a data storagemedium 51 of computer system 10. While in the present embodiment datastorage medium is depicted at internally accessible to computer system10, in alternate embodiments, data storage medium 51 may be externallyor remotely accessible to computer system 10. In addition, the datastored in data storage medium 51 is preferably updatable throughdownloads from other sources to computer system 10. Moreover, the datastored on computer system 10 is preferably efficiently stored in aparticular data transmission format, such the extensible mark-uplanguage (XML), or is easily convertible into the data transmissionformat.

Computer system 10 preferably communicates with multiple diverseexercise machines, such as exercise machine 38, via a bi-directionalcommunications medium (or across a communication interface). Inaddition, as will be further described, computer system 10 maycommunicate with alternate server systems via a bi-directionalcommunication method. The communications medium may include wired orwireless communications or other communications media that enablesbi-directional transmission of data. Moreover, the communications mediummay include a link to a network, such as the Internet, or a direct datalink.

In a wired embodiment of the communications medium, for example,exercise machine 38 is connected to computer system 10 via parallel,serial, or USB ports, or the communication adapter as depicted in FIG.1. In a wireless embodiment of the communications medium, for example,exercise machine 38 is wirelessly connected to computer system 10 viainfrared, radio frequency (RF), cellular and other wirelesstransmissions which are detected by computer system 10.

Data exchange across the communications medium is advantageouslyperformed in at least one of multiple available data transmissionprotocols and is preferably supported by a common data structure format,such as the extensible mark-up language (XML) data structure format.Data transmission protocols may include, but are not limited to,Transmission Control Protocol (TCP), Internet Protocol (IP), HypertextTransfer Protocol (HTTP), and Bluetooth. In addition, data may betransmitted in a secure manner via encryption or by technologies such assecure socket layer (SSL) or virtual private networks (VPN).

An example of an XML data file that might be transmitted from computersystem 10 to exercise machine 38, as depicted below, preferably containsdata that is distinguished by attributes on elements and may bewrappered within a larger element. For example, the data attributed toelement “<TimeStamp></TimeStamp>” designates the time that the data wasattributed to the XML data file.

<TREADMILL TimeStamp=“888965153” MachineType=“Arc2000” UserID=“JANEXYZ”Speed=“30” Elevation=“5”>

In addition, in an alternative example, the XML data file might beformatted utilizing elements, as illustrated below.

<TimeStamp>888965153</TimeStamp>

<MachineType>Arc2000</MachineType>

<UserID>JANEXYZ</UserID>

<Speed>30</Speed>

<Elevation>5</Elevation>

In the example, as will be further described, exercise machine 38 wouldreceive the example XML data file and utilize the XML data file tocontrol operation of exercise machine 38. The above described XML datafile example is intended as a functional example of an XML data filethat would control the speed and elevation of a treadmill. The elements,format of the elements and data included with the elements is providedto depict an example and is not intended to limit the types of elements,format of elements or data included with elements that are in an XMLdata file.

In the example of the XML data format as the common transmittable dataformat, a data validation file such as a document type definition (DTD)or schema is preferably utilized to validate XML data files. Inaddition, a schema preferably translates multiple XML data files.Moreover, a style sheet such as an extensible stylesheet language (XSL)file is preferably utilized to provide a style specification for the XMLdata at the receiving system. In particular, DTDs, schemas, and XSLfiles may be, for example, transmitted with an XML data file to areceiving system or downloaded at the receiving system from an alternatesource. In the present example, the DTD or schema would verify that allthe data required for transmittal to a particular exercise machine isincluded in the XML data file. For example, a speed and elevation may berequired to validate the XML data file.

Exercise machine 38 advantageously transmits measurements in the commontransmittable data structure format from real-time monitoring systemsassociated with exercise machine 38 including, but not limited to apulse monitor, a distance meter, a rate monitor, a time monitor, astrain gauge, an accelerometer and/or any other sensor for measuring thephysical activity/performance level of a user on a piece of equipment.

Detected exercise signals, such as a pulse, distance, rate, time,strain, etc, are preferably transmitted from exercise machine 38 in acommon transmittable data format. For example, an example of an XML datafile for a pulse monitor is described below where a user's pulse ismeasured between a particular time period at 80 beats per minute. Inaddition, an alternate form of XML formatting may be utilized.

<TimeRange>888965153,888965160</TimeRange>

<Machine ID>45365</MachineID>

<MachineType>PulseMonitor</MachineType>

<Rate>80</Rate>

Computer system 10 is preferably enabled to compute current fitnessactivity based on the detected exercise in the form of a pulse,distance, rate, time, strain, acceleration, and any other sensed valuethat may be utilized to compute current fitness activity. In addition,in calculating current fitness activity, factors such as previouslyaccumulated fitness activity stored in fitness profile 50, personal data54, and the type of exercise machine are utilized to compute a realisticfitness assessment. Thereby, computer system 10 is enabled to computeand store cumulative real-time fitness activity within fitness profile50 over a selected time period or session from across multiple diverseexercise machines.

Cumulative fitness activity over a selected time period is preferablycomputed from summing previously accumulated fitness activity for theselected time period with the current fitness activity. In summing thepreviously accumulated fitness activity and current fitness activity,computer system 10 may adjust the cumulative total to more closelyreflect the fitness gained as a result of exercising on multiplemachines over a period of time. For example, if a user exercises for anhour across three different exercise machines, the amount of caloriesburned by the user actually increases with prolonged exercise over aparticular amount of time determined for that user and therefore isadjusted in the cumulative fitness activity.

In addition, to storing cumulative real-time fitness activity for a userover a particular period of time, individual sessions of fitnessactivity may also be recorded. For example, if a suer exercises on atreadmill for 20 minutes and a rowing machine for 20 minutes, acumulative fitness profile may be calculated and stored in fitnessprofile 50. In addition, fitness activity achieved from exercise on thetreadmill and rowing machine may be stored as separate exercisesessions. Moreover, in addition to calculating cumulative fitnessactivity according to previously accumulated fitness activity, personaldata 54 and the type of exercise machine, the types of food eaten by theuser that day, fluid intake, medication usage and environmental exposuremay be utilized to determine cumulative fitness activity data.

In particular, in addition to receiving detected exercise signals fromexercise machine 38, detected exercise may be input by a user via inputinterface 66 or from another monitoring device. For example, a user maycount the number of jumping jacks that they perform during a breakbetween utilizing exercise machines. The number of jumping jacks can beentered into computer system 10 via an input interface 66 and computersystem 10 computes fitness activity data for the jumping jacks andupdates the cumulative real-time fitness activity data.

Input interface 66 may include, but is not limited to including, akeyboard, a mouse, a stylus, a vocal recognition system, atactile-detectable device, a biometric detection device, a disk drive, apersonal storage device adapter, and other devices which allow userinput to computer system 10. Preferably, input interface 66 provides aninterface with computer system 10 through which a user may supplementdata provided by exercise machine 38. In addition, input interface 66preferably provides an interface with computer system 10 through which auser may customize the functions performed by computer system 10 anddata stored therein.

In addition, in an alternate embodiment, other monitoring systems may beassociated with computer system 10. For example, a pulse monitor may beassociated with computer system 10 that detects the pulse of a user asthe user exercises on exercise machine 38, independent of exercisemachine 38. In another example, a pulse rate monitor may record a pulserate for a user over a period of time, such as during a foot race, andtransmit the recorded exercise signals to computer system 10,independent of an exercise machine. Therefore, an exercise machine neednot include monitoring systems for detecting health parameters duringexercise. In addition, the cumulative fitness activity data calculatedat computer system 10 may be supplemented with exercise measurementstaken for exercise performed independent of exercise machine 38.

Personal data 54 stored at computer system 10 may include informationthat is relevant to determining fitness gains in a workout such asweight, height, age, percentage body fat, bone density, metabolism,health problems, prescriptions, diet, and other health related factors.For example, food and liquid intake for a user may be monitored by aportable computer system as described in U.S. patent application Ser.No. 09/466,000 Abd. and in U.S. patent application Ser. No. 09/560,386,both herein incorporated by reference. In another example, medicationintake for a user may be monitored by a portable computer system asdescribed in U.S. patent application Ser. No. 09/560,922, Abd., hereinincorporated by reference. Moreover, environmental exposure of a usermay be monitored by a portable computer system as described in U.S.patent application Ser. No. 09/560,163 U.S. Pat. No. 6,604,023, hereinincorporated by reference.

In addition, personal data 54 preferably includes a user's outputpreference for how cumulative fitness activity should be output. Forexample, a user may prefer a particular font size, colors, outputdevice, graphical application, etc.

Moreover, in personal data 54, an individual can designate multiplelevels of security for accessing fitness profile 50, fitness goals 52and personal data 54 stored on computer system 10. For example,particular parts of personal data 54 such as age and bone density may beshielded form transmittal and access without a password. As will beunderstood by one with ordinary skill in the art, multiple types ofsecurity methods and filters may be applied to fitness goals 52,personal data 54 and other data stored on computer system 10.

Fitness goals 52 preferably include data such as target heart rates,target caloric loss, target distance and speed, and other target fitnessgoals stored in a data storage structure. In addition, fitness goals 52preferably includes selections of control programs from control programs56 for particular exercise machines and selected exercise sessions. Inparticular, a control program may be preselected in fitness goals 52 fora particular exercise machine such that the control program isautomatically selected if a user selects to utilize that particularexercise machine. In addition, parameters for the control program, suchas a level of difficulty, may also be included in fitness goals 52.

An exercise session may include multiple selections of control programsfrom among control programs 56 for multiple machines that the user isintended to utilize over a particular period of time. The session ofselections of control programs may be pre-selected by the user,determined by a trainer, or selected by computer system 10 dependentupon the goals of the user and other factors. For example, a session maybe selected that includes a control program for a 20-minute interval ona rowing machine at a particular speed and thereafter a control programfor a 15-minute interval on a step machine with a target heart rate. Inanother example, a user enters fitness goals and a selection ofavailable exercise machines and programs on those exercise machines isselected by computer system 10 and provided to the user.

As mentioned previously, if a user or trainer does not select exercisesessions for an individual, computer system 10 may provide suitableexercise sessions that are selectable by the individual or a trainer. Inparticular, computer system 10 is preferably enabled to determinesessions based on an individual's personal data 54, exercise machinesavailable to the user, and fitness goals 52 provided such as the type ofevent training for, the date of the event and other pertinent data.Alternatively, fitness goals 52 may include weight loss, cardiovascularstrengthening, muscle strengthening, etc. Preferably, an individual canenter or download specific types of exercise machines that are availablein a personal gym or health club, wherein computer system 10 determinessuitable exercise sessions based on machine availability.

A control program selection or session of control program selections infitness goals 52 may be added to an electronic calendar 58 on computersystem 10 in order to schedule for the user what type of exercise shouldbe performed each day and how much time should be allotted for exercise.This function is particularly helpful for people wanting to follow aparticular work out schedule. For example, athletes training for anevent, such as a triathlon, where a schedule is imperative to reachfitness goals and where multiple diverse exercise modes are performedconsecutively, would benefit from an exercise program stored onelectronic calendar 58. In addition, a trainer may prescribe aparticular workout schedule for a client on electronic calendar 58.

Control programs 56 preferably includes multiple control programs forcontrolling each of multiple types of diverse exercise machines. Forexample, for a treadmill, one control program may provide for a flatrace while another control program may provide for a hill workout. Eachof control programs 56 preferably designate a particular type of workout session with goals for reaching particular speeds, heights, heartrates, etc. dependent upon personal data 54. In particular, controlprograms 56 are preferably downloadable onto computer system 10.

The parameters of control programs 56 are advantageously adjustable bythe user such that the intensity of each control program may be varied.For example, a user may select to utilize a particular control program,such as a hill workout, for thirty minutes one day and for forty-fiveminutes another day. Computer system 10 is preferably enabled to adjustthe hill workout control program for varying times, difficulties, etc.

When computer system 10 connects to exercise machine 38, computer system10 preferably detects the type of exercise machine from a machine typesignal transmitted from exercise machine 38 in the common transmittabledata structure format. In response to detecting the type of exercisemachine, computer system 10 checks whether a control program for thedetected exercise machine is designated in fitness goals 52. If acontrol program is not preselected, then a selection of control programsavailable for controlling the machine are displayed to the user viaoutput interface 68. In response to a pre-selection of a control programor a current designation of a control program, with parameterselections, a machine control signal is transmitted from computer system10 to exercise machine 38 in order to control the functions of exercisemachine 38.

As a user exercises, the detected exercise signals received fromexercise machine 38 are preferably compared with the goals of theexercise program. For example, a heart rate of the user may be comparedwith a target heart rate for the control program in view of personaldata 54 or a current cumulative fitness activity level in fitnessprofile 50. If a user is not reaching target goals, an indicator may beoutput to the user via output interface 68 and/or the machine controlsignal to exercise machine adjusted to facilitate the user reachingtarget goals. If the user is exceeding target goals, an indicator may beoutput to the user via output interface 68 and/or the machine controlsignal adjusted to reduce exercise intensity.

As another feature of computer system 10, a user may compete againstother users via a communications medium with other computer systems thatare monitoring real-time fitness activity data, where the fitnessactivity data is transmittable in the common data structure format. Forexample, alternate computer system 59 is monitoring real-time fitnessactivity data on exercise machine 61. In particular, multiple users maybe utilizing the same type of exercise machine or diverse types ofexercise machines where a single type of display profile or multipletypes of display profiles show each of the user's paces compared withthe other user's. For example, one user may be riding a stationarybicycle while another user is running on a treadmill. A graphicallyrendered game may be displayed to each of the user's at each of theuser's computer systems that are monitoring their exercise. The game orother application preferably compensates for the differences in types ofexercise to show one user's position compared to another user's positionin the game. The users may be within an area local to one another, suchas in a gym, or may be within a global area and are connected via anetwork connection.

As previously described, output preferences may be included withpersonal data 54 on computer system 10. The user-designated outputpreference may designate output preferences for a particular type ofoutput interface 68 for a particular user. Output interface 68 mayinclude, but is not limited to including, a graphical display, anelectronic paper, an audio speakers, audio headphones, a tactiledetectable device, or a printer. The output preferences may include, butare not limited to specifications such as the size, type and coloring ofa font in a graphical display, the type of tactile-detectable output(e.g. Braille), the language or the metric amount displayed.

In addition, the output preferences may designate a particular game orother program that adds a pictorial representation of a fitness profile.For example, a game that displays the user riding through a jungleforest may be selected. Moreover, alternative output device may becoupled to exercise machine 38 that provide additional media. Forexample, a user may switch stations, volume and signal bearing media oncontrollers including, but not limited to, a radio receiver, atelevision signal receiver, a compact disk player or a tape player thatis accessible from exercise machine 38. In addition, as will beunderstood by one with ordinary skill in the art, any form of visual,auditory or tactile media may be provided for the individual to detecttheir fitness profile.

Computer system 10 is advantageously a portable computer system, such asa digital telephone, a personal digital assistant, a laptop computer, ora palmtop computer that is easily transportable and compact. Inaddition, computer system 10 is advantageously utilized as a personalexercise monitor for monitoring exercise across multiple diverseexercise machine platforms and a temporary controller for controllingmovement of multiple diverse exercise machine platforms when in use by auser associated with computer system 10. It is important to note that auser is able to customize the features available on computer system 10.Since the user advantageously supplies computer system 10, the user mayselect the type and quality of desired output. For example, the user maydownload games, audio and other programs from signal-bearing media intodata storage medium 51. In addition, the user may utilize a computersystem that includes a color display, or alternatively a black and whitedisplay. In addition, it is important to note that computer system 10may be continuously upgraded without regarding the upgrade of machinemonitor 40.

In addition, it is important to note that the exercise machinemonitoring system of the present invention may provide for a gym settingin which a user's account included in personal data 54 is charged as theuser exercises and the user provides computer system 10 in order tocontrol each of multiple diverse exercise machines. For example, auser's account may be debited per machine usage, per type of machineutilized, per time on the machine, per number of calories burned orother criteria. Moreover, a user's account may be debited fordownloading a particular game or upgrade.

With reference now to FIG. 3, there is depicted a second embodiment of asystem for utilizing a personal electronic exercise monitor inaccordance with the method, system and program of the present invention.As depicted, an exercise machine includes an at-machine exercise monitor40 that includes a fitness calculator 46, predetermined exerciseprograms 44, and a machine controller 48 within a data storage medium 41accessible to said monitor 40.

At-machine exercise monitor 40 preferably enables a user to controlexercise machine 38 both independently of computer system 10 anddependent upon computer system 10. Input interface 76 provides aninterface for a user to enter personal data and select a predeterminedexercise program from among predetermined exercise programs 44. Fitnesscalculator 46 calculates current fitness activity based on personal dataand detected exercise signals. Machine controller 48 transmits a controlsignal to exercise machine 38 for controlling movement of exercisemachine 38.

Alternatively, personal data may be transmitted from computer system 10to at-machine exercise monitor 40. In addition, alternatively, aselection of a predetermined exercise program may be transmitted toat-machine exercise monitor 40. Moreover, alternatively, at-machineexercise monitor 40 acts as a “dumb terminal” receiving a control signalfrom computer system 10, such that exercise machine 38 is completelycontrolled by computer system 10.

Personal data transmitted from computer system 10 to at-machine exercisemonitor 40 is preferably transmitted in an XML data file as shown below,where at-machine exercise monitor 40 is enabled to read the data file.In addition, a predetermined exercise program selection of program “5”for thirty minutes at exercise level “8” may be included in the datafile. Moreover, an alternate form of XML formatting may be utilized.

<TimeStamp>888965153</TimeStamp>

<UserId>GeorgeG</UserID>

<Age>30</Age>

<Weight>180</Weight>

<Program >5</Program>

<Programtime>003000</ProgramTime>

<ProgramLevel>8</ProgramLevel>p Referring now to FIG. 4, there isillustrated a block diagram of a machine usage system for a health clubin accordance with the method, system and program of the presentinvention. Computer system 10 is preferably enabled to transmit aschedule request for particular exercise machines during a particulartime period in the common transmittable data structure format via anetwork connection such as the Internet or a LAN connected to a healthclub server 80. For example, an XML data file including a request for a“Tread505” exercise machine on Feb. 23, 2000 from 1 PM to 1:30 PM isdepicted below. In addition, an alternate form of XML formatting may beutilized.

<TimeStamp>888965153</TimeStamp>

<UserId>GeorgeG</UserID>

<MachineRequest>Tread505</MachineRequest>

<MachineRequestDay>02.23.2000</MachineRequestDay>

<MachineReqTime>13:00:00,13:30:00</MachineReqTime>

Health club server 80 preferably includes a reservation database 81containing a listing of each exercise machine available and anyreservation made for the machine. In addition, time limits for eachexercise machine may be specified. In addition, health club server 80preferably included user accounts 82 that may include a prepaid debitamount, a credit card number, bank account number, or other financialinformation that can be utilized to charge a user for a particularservice.

The reservation server 80 compares the schedule requests from computersystem 10 with available time slots in reservation database 81 andtransmits a list of available scheduling to computer system 10. Theindividual may then select to reserve exercise machines from theavailable scheduling. In scheduling time, an identifier and/or passwordfor the user is transmitted and stored with the reservation. Inaddition, the individual may select to be placed on a waiting list forexercise machines that are currently reserved during a requested timeperiod. Computer system 10 is then notified if the time slot opens.Preferably, a session of scheduled exercise machines is added to anelectronic calendar or other scheduling database on computer system 10.

In addition, reservation server 80 may be connected to multipleat-machine exercise machines 84 a-84 n via a communications medium.Exercise machines 84 a-84 n communicate with computer system 10 toreceive a reservation identifier for the user and transmit verificationrequests to reservation server 80 to verify that a user has areservation for an exercise monitor being requested by that user. Inverifying a user, both the reservation stored in reservation database 81and the account information for the user stored in user accounts 82 areverified. In addition, the user account may be debited. In receiving averification, exercise machines 84 a-84 n are enabled to function forthe verified user.

Reservation server 80 preferably tracks statistical data concerning thetimes utilized and frequency of reservation requests for exercisemachines. By tracking reservation data, marketing and financial planningdata can be collected. For example, peek hours for a health club can bedetermined. In addition, by tracking reservation data, a member might belimited in the number of times that they can schedule a reservation andlater cancel the reservation. Either periodically or in real-time, datafrom each of exercise machines 84 a-84 n may be transmitted toreservation server 80 in order to track the usage of each exercisemachine. In an alternate embodiment, data collected at each of exercisemachines 84 a-84 n may be transmitted periodically or in real-time via awireless transmission medium to a server or other data storage mediumthat compiles data about the usage of each exercise machines 84 a-84 n.Thus, whether an exercise machine is in use in a home gym or a healthclub, a manufacturer or owner can obtain data about the usage of theexercise machine via communications with each exercise machines 84 a-84n.

With reference now to FIG. 5, there is illustrated a high level logicflowchart of a process and program for controlling an exercise machinein accordance with the present invention. As depicted, the processstarts at block 100 and thereafter proceeds to block 102. Block 102illustrates a determination as to whether or not reservationauthorization is received. In order for reservation authorization to bereceived the user must enter an identifier into a machine monitor orsupply the identifier from a personal exercise monitor. If a reservationfor the machine has been made, the identifier is compared with anidentifier under which the machine is reserved. If there is a match,authorization is provided. Therefore, if authorization is not provided,the process ends. If authorization is provided, the process passes toblock 104. Block 104 depicts a determination as to whether or not apersonal exercise monitor is selected to control the exercise machine.If a personal exercise monitor is not selected, the process passes toblock 106. If a personal exercise monitor is selected, the processpasses to block 128.

Block 106 illustrates prompting the user to enter personal data such asage, weight, and height. Thereafter, block 108 depicts prompting theuser to select a program, time duration and output preference for theprogram. Next, block 110 illustrates prompting the user to select adifficulty or speed of the program. Thereafter, block 112 depictsstarting the selected program. Block 113 depicts controlling output ofthe monitored data and any other user-determined output according theuser's output preferences to an output interface. Block 114 illustratescomparing monitored data with program goals. Next, block 116 depicts adetermination as to whether or not the user is meeting the programgoals. For example, meeting a program goal might include that a user'sheart rate has reached a target level depending on the age and weight ofthe user. If the user is meeting the program goals, then the processpasses to block 119. If the user is not meeting the program goals, thenthe process passes to block 118. Block 118 illustrates alerting the userthat they are not within the program goals. The user is not within theprogram goals if the user does not reach the program goals or if theuser exceeds the program goals. Next, block 119 depicts converting themonitored data into a common transmittable data format. Block 120illustrates transmitting the monitored data to the personal exercisemonitor. Thereafter, block 122 illustrates updating the current outputwith the monitored data. Next, block 124 depicts a determination as towhether or not the program for the machine is over. If the program isnot over, the process passes to block 114. IF the program is over, theprocess passes to block 126. Block 126 illustrates outputting totals ofmonitored data from the duration of the exercise program; and theprocess ends.

Returning to block 128, there is depicted a determination as to whetheror not personal data and program selection are received. If personaldata and program selection are received, then the process passes toblock 112 and are utilized to set-up the at-machine exercise monitor. Ifpersonal data and program selection are not received, the process passesto block 132. Block 132 illustrates a determination as to whether or nota control program signal form a personal exercise monitor is received.If a control program signal is not received, the process defaults andpasses to block 106. If a control program signal is received, theprocess passes to block 134. Block 134 depicts starting control of theexercise machine by the control program signal. Thereafter, block 135illustrates converting the monitored exercise data into a commontransmittable data format. Next, block 136 depicts transmittingmonitored exercise data to the personal exercise monitor. Next, block138 illustrates a determination as to whether the program time is overas designated by the control signal. If the program time is over, theprocess ends. If the program time is not over, the process passes toblock 136.

Referring now to FIG. 6, there is depicted a high level logic flowchartof a process and program for utilizing a personal electronic exercisemonitor to control an exercise machine in accordance with the presentinvention. As illustrated, the process starts at block 150 andthereafter proceeds to block 152. Block 152 depicts a determination asto whether or not a machine type is detected. A machine type may bedetected from a signal from the exercise machine or from an entry via aninput interface. If a machine type is not detected, the process passesto block 153. Block 153 illustrates an error; and the process ends.Alternatively, the process may perform a particular number of retriesbefore ending. If a machine type is detected, the process passes toblock 154. Block 154 depicts a determination as to whether or not thedetected machine is included in the fitness goals. The detected machinemay be selected as part of an exercise session, or a particular controlprogram may be designated for the detected machine in the fitness goals.If the machine is not included in the fitness goals, the process passesto block 156. Block 156 illustrates requesting user input of a controlprogram selection including difficulty; and the process passes to block158. If the machine is included in the fitness goals, the process passesto block 158.

Block 158 depicts retrieving the selected program for the machine.Thereafter, block 160 illustrates a determination as to the control modeselection for the personal exercise monitor. If the control mode is setto transmit personal data and program selections the process passes toblock 162. If the control mode is set to transmit a control program, theprocess passes to block 176.

Block 162 depicts filtering the personal data and program selectionaccording to security filters. Next, block 164 illustrates transmittingthe filtered data to the at-machine exercise monitor. Thereafter, block166 depicts a determination as to whether or not monitored exercise datais received. If monitored exercise data is not received, the processiterates at block 166 for a period of time. If monitored exercise datais received, the process passes to block 168. Block 168 illustratesupdating the fitness profile. Thereafter, block 170 depicts adetermination as to whether or not the program time is over for themachine. If the program time is not over, the process passes to block166. If the program time is over, the process passes to block 172. Block172 illustrates a determination as to whether or not the exercisesession is over. If the exercise session is over the process ends. Ifthe exercise session is not over, the process passes to block 174. Block174 depicts prompting the user to the next exercise machine for thesession; and the process mode.

Block 176 depicts transmitting a control signal for the control programto the exercise machine. Next, block 177 illustrates controlling outputof the cumulative fitness activity data according to user outputpreferences to an output interface. Thereafter, block 178 illustrates adetermination as to whether or not monitored exercise data is receivedfrom the exercise machine. If monitored exercise data is not received,the process iterates at block 178. If monitored exercise data isreceived, the process passes to block 179. Block 179 illustratesupdating the fitness profile with the monitored data. Next, block 180depicts comparing the monitored data with the fitness goals and program.Next, block 181 illustrates a determination as to whether or not theuser is meeting the fitness goals. If the user is not meeting thefitness goals, then the process passes to block 186. If the user ismeeting the fitness goals, then the process passes to block 182.

Block 182 illustrates adjusting the control signal for the controlprogram in order to aid the user in meeting the fitness goals. Next,block 184 depicts transmitting the adjusted control signal to theexercise machine. Block 186 illustrates updating the output interfacewith the monitored exercise data. Thereafter, block 188 depicts adetermination as to whether or not the program time is over. If theprogram time is not over, the process passes to block 178. If theprogram time is over, the process passes to block 172.

With reference now to FIG. 7, there is illustrates a high level logicflowchart of a process and program for specializing a personalelectronic exercise monitor in accordance with the present invention. Asdepicted, the process starts at block 200 and thereafter proceeds toblock 202. Block 202 illustrates a determination as to whether or not aset-up request is made. If a set-up request is made for a particularuser, the process passes to block 204. Multiple users may utilize asingle portable computer system as a personal exercise monitoringsystem. If a set-up request is not made, the process passes to block203. Block 203 depicts a determination as to whether or not new sessionplanning is selected. If new session planning is not requested, theprocess passes to block 202. If new session planning is requested, theprocess passes to block 216.

Block 204 depicts requesting personal data from the user. Thereafter,block 205 illustrates storing the personal data, preferably in a datastorage structure. Next, block 206 depicts requesting fitness goals suchas race goals, weight loss, cardiovascular strength, etc. Block 207illustrates storing the fitness goals. Block 208 depicts requesting alist of exercise machines that are available to the user. The user maydownload the list of exercise machines, select from a list of pre-loadedexercise machines, or enter new exercise machines. Thereafter, block 209illustrates storing the list of available exercise machines. Next, block210 depicts requesting preferred exercise times. Block 212 illustratesstoring the preferred exercise times. Next, block 214 depicts requestingsecurity filter preferences. Block 215 illustrates storing the securityfilter preferences with the personal data. Thereafter, block 216 depictsdetermining an exercise session or sessions. Next, block 218 illustratesdisplaying the exercise session or sessions; and the process passes toblock 220.

Block 220 illustrates filtering the displayed sessions with the user'scalender; and the process passes to block 222. Block 222 depictsdetecting user selections of sessions. In addition to the personalexercise monitor determining suitable exercise sessions, the user maycreate his/her own sessions, or sessions may be downloaded from anothersource. In addition, a session may include control programs for a singleexercise machines or for multiple diverse exercise machines. Next, block225 depicts adding the selected sessions and output preferences to thefitness goals for the user. Thereafter, block 226 illustratestransmitting a request for reservations for the exercise machinesincluded in the selected sessions. Next, block 228 depicts adetermination as to whether or not a reply is received from areservation server. If a reply is not received, the process passes toblock 226. If a reply is received, the process passes to block 230.Block 230 illustrates displaying the reservation listing. Preferably thereservation listing includes exercise machines that have confirmedreservations and alternatives for unavailable machine requests. Block232 depicts transmitting selections from alternatives. Block 234illustrates adding the reservations to the user's electronic calendar;and the process ends.

Referring now to FIG. 8, there is depicted a high level logic flowchartof a process and program for controlling machine usage for a health clubin accordance with the present invention. As depicted, the processstarts at block 250, and thereafter proceeds to block 252. Block 252depicts a determination as to whether or not a request for a reservationis received. If a request for a reservation is not received, then theprocess passes to block 274. If a request for a reservation is received,then the process passes to block 254. Block 254 illustrates comparingthe reservation request with the reservation schedule at the health clubserver. Next, block 256 depicts a determination as to whether or not therequested machine type and time are available. If the requested machinetype and time are not available, then the process passes to block 262.If the requested machine type and time are available, then the processpasses to block 258. Block 258 illustrates inserting a reservation forthe machine type and time in the reservation schedule with themembership id of the requesting user. Next, block 260 depictstransmitting a reservation reply to the portable computer system for therequesting user; and the process ends.

Block 262 depicts searching the reservation schedule for alternativetimes and exercise machine types. Next, block 264 illustratestransmitting the alternative times and exercise machine types to theportable computer system for the requesting user. Thereafter, block 266depicts a determination as to whether or not a selection from among thealternatives is received at the health club server from the portablecomputer system for the requesting user. If a selection from among thealternatives is received, then the process passes to block 268. Block268 illustrates inserting a reservation for the selected machine typeand time in the reservation schedule with the membership id of therequesting user. Next, block 269 depicts transmitting a reservationreply to the portable computer system for the requesting user; and theprocess ends.

Returning to block 266, if a selection from among the alternatives isnot received, then the process passes to block 270. Block 270 depicts adetermination as to whether or not a request for the waiting list forthe user's first machine type and time request is received. If a requestfor the waiting list is not received, then the process ends. If arequest for the waiting list is received, then the process passes toblock 272. Block 272 illustrates inserting a waiting list reservationfor the machine type and time in the reservation schedule with themembership id of the requesting user. Next, block 273 depictstransmitting a reservation reply to the portable computer system for therequesting user; and the process ends.

Block 274 illustrates a determination as to whether or not a reservationverification request is received from a particular exercise machine fora particular membership id for a particular time. If a reservationverification request is not received, then the process passes to block252. If a reservation verification request is received, then the processpasses to block 276. Block 276 depicts comparing the membership id withthe particular exercise machine and time in the reservation schedule.Next, block 278 illustrates a determination as to whether or not themembership id is verified in the reservation schedule. If the membershipid is not verified, then the process passes to block 284. Block 284depicts transmitting a lack of verification indicator to the requestingexercise machine; and the process ends. If the membership id isverified, then the process passes to block 280. Block 280 illustratesdebiting the membership account for the membership id. The membershipaccount may be debited according to the type of exercise machine, thelength of reservation for the exercise machine or other criteria. Next,block 282 depicts transmitting a verification to the requesting exercisemachine; and the process ends.

It is important to note that, although the present invention has beendescribed in the context of a fully functional computer system, thoseskilled in the art will appreciate that the mechanisms of the presentinvention are capable of being distributed as a program product in avariety of forms, and that the present invention applies equallyregardless of the particular type of signal-bearing media utilized toactually carry out the distribution. Examples of signal-bearing mediainclude, but are not limited to, recordable-type media such as floppydisks or CD-ROMs and transmission-type media such as analogue or digitalcommunications links.

While the invention has been particularly shown and described withreference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention.

What is claimed is:
 1. A method for controlling an exercise machine fora particular user, said method comprising the steps of: receiving atportable computer system at least one indicator of current exerciseperformed by said particular user from said particular exercise machinein use by said particular user; comparing said at least one indicator ofcurrent exercise with fitness goals for said particular user at saidportable computer system; and adjusting a control signal transmittedfrom said portable computer system to said particular exercise machinewhile in use by said particular user in order to adjust said movement ofsaid particular exercise machine to said particular user in meeting saidfitness goals.
 2. The method for managing exercise performed by a useraccording to claim 1, said step of comparing said at least one indicatorof current exercise with fitness goals for said particular user furthercomprising the step of: comparing said at least one indicator of currentexercise with fitnesses goals for said particular user in view of anexercise profile for said particular user at said portable computersystem.
 3. The method for managing exercise performed by a useraccording to claim 1, said step of comparing said at least one indicatorof current exercise with fitness goals for said particular user furthercomprising the step of: comparing said at least one indicator of currentexercise with fitness goals for said particular user in view of personaldata for said particular user at said portable computer system.
 4. Themethod for managing exercise performed by a user according to claim 1,said method further comprising the steps of: receiving an exercisemachine indicator from a particular exercise machine in a particulartransmittable data format at the portable computer system provided by aparticular user; determining said control signal for controllingmovement of said particular exercise machine according to an exerciseprogram specified for said particular exercise machine at said portablecomputer system; and transmitting said control signal to said particularexercise machine for controlling said particular exercise machine, suchthat said particular exercise machine is controlled by said portablecomputer system that is enabled to control a plurality of diverseexercise machines.
 5. The method for managing exercise performed by auser according to claim 4, said step of determining said control signalfor controlling movement of said particular exercise machine furthercomprising the steps of: searching a plurality of predesignated controlprograms at said independent controller according to said particularexercise machine; and in response to finding a particular predesignatedcontrol program from among said plurality of predesignated controlprograms that is associated with said particular exercise machine,determining said control signal from said particular predesignatedcontrol program.
 6. The method for managing exercise performed by a useraccording to claim 4, said step of determining said control signal forcontrolling movement of said particular exercise machine furthercomprising the steps of: prompting said particular user, at saidportable computer system, to select from among a plurality of controlprograms enabled for controlling said particular exercise machine, inresponse to not finding a predesignated control program for saidparticular exercise machine; and determining a control signal for aparticular currently selected control program from among said pluralityof control programs enabled for controlling said particular exercisemachine, in response to a selection of said particular currentlyselection control program by said particular user.
 7. The method formanaging exercise performed by a user according to claim 6, said methodfurther comprising the step of: specifying a plurality of controlprograms enabled for controlling said particular exercise machineaccording to said fitness goals for said particular user, wherein saidparticular user is enabled to select from said specified selection ofsaid plurality of control programs that are suited for said particularuser.
 8. The method for managing exercise performed by a user accordingto claim 1, said method further comprising the step of: displaying agraphical representation of said at least one indicator of currentexercise at an output interface coupled to said portable computer systemaccording to graphical output preferences for said particular user. 9.The method for managing exercise performed by a user according to claim1, said method further comprising the step of: transmitting account datafor said particular user from said portable computer system to saidparticular exercise machine in order to receive access to use of saidparticular exercise machine, wherein said account data is utilized todebit said particular user for use of said particular exercise machine.10. The method for managing exercise performed by a user according toclaim 1, said method further comprising the step of: prompting saidparticular user, at said portable computer system, to utilize saidparticular exercise machine according to an electronic exercise schedulecomprising a plurality of exercise events for said particular user.